The present invention relates generally to telephone switching systems, and in particular, to a method and apparatus for analyzing the progress of software upgrades or retrofits on telephone switching systems.
Modern telephone switching systems are large-scale, highly complex systems incorporating one or more switching elements cooperatively controlled and supervised by one or more computing means. One commercial exemplar of a modern telephone switching system is the 5ESS ELECTRONIC SWITCHING SYSTEM, from Lucent Technologies Inc., 600 Mountain Avenue, Murray Hill, N.J. 07974. The 5ESS electronic switch is a distributed switching system. Both the switching system capabilities and the control, supervision and administration capabilities are distributed. Each of the computing facilities associated with these distributed capabilities includes appropriate computer programs or software to achieve the desired operation of the switching elements and other components of the switching system.
Periodically the software or computer programs used to control the components of the switching system are replaced by different software. This replacement of computer software is referred to as an upgrade or retrofit. The process of retrofitting a telephone switching system is complex. The complexity stems from the number of distributed computing facilities; the amount of software code involved; and the fact that the switching system availability must not be completely compromised for a retrofit. A typical retrofit of a switch may take from 10 to 12 hours. Resources must be employed days in advance of the retrofit for preparation. And, of course, additional resources are required during the retrofit.
Problems occurring during a retrofit are obviously undesirable. Unfortunately, problems do occur. Some of these problems are readily fixed. Other problems prevent successful upgrade of the switch. Regardless of the nature of the problem, early detection of the problem is desirable. Early detection allows for early correction or rescheduling to avoid wasted resources.
A report data stream is produced by the 5ESS switching system containing text messages regarding the current state and recent operations of the switching system. The report data stream includes messages that (1) describe the state of the switch hardware; (2) report automatic actions taken by the switch; (3) report operations entered by a switch operator; (4) report results of routine or scheduled diagnostics; and (5) indicate non-routine events, abnormal conditions, errors or alarms. The report data stream is typically supplied to a xe2x80x9cread-onlyxe2x80x9d printer or xe2x80x9cROPxe2x80x9d via a serial port. Hence, the report data stream is often referred to as the xe2x80x9cROPxe2x80x9d or xe2x80x9cROPxe2x80x9d report. The report data stream is voluminous, sometimes generating 4 to 5 megabytes of data for storage per day. Therefore, the ROP is often stored on a computer to permit searching and review for problem solving. In addition, a telecommunications switch owner often desires to have all ROP output from its switches collected in a single location for review.
The ROP, or its equivalent, is typically reviewed manually or with the assistance of a computer to detect problems during a retrofit of a switch. However, given the voluminous nature of the ROP, especially when considering multiple switches, this method of monitoring a retrofit is prone to miss errors and can be inefficient. Moreover, this method requires substantial subject matter expertise from a person manually reviewing the ROP.
Therefore, a need exists for a more efficient and reliable method and apparatus for monitoring the progress of a software retrofit on a telecommunications switch.
In accordance with one aspect of the present invention, a method is provided for analyzing and displaying the progress of a software upgrade on a switch. First a report stream containing a plurality of messages associated with the state of the switch is received. The plurality of messages are searched for a select set of messages that are associated with the software upgrade. The select set of messages includes at least a first message associated with an entry into a stage of the software upgrade. The select set of messages includes a second message associated with an exit from the stage of the software upgrade. Preferably, an entry message and an exit message for each stage of the software upgrade are included within the select set of messages. After a message associated with an entry into a stage is detected in the report stream, a user interface is updated to reflect the entry into that stage of the software upgrade. Similarly, when an exit message for a stage is detected in the report stream, the user interface is updated to reflect the exit from that stage of the software upgrade. Preferably, the user interface includes predetermined areas that are visually perceptible and associated with each stage of the software upgrade. Most preferably, the designated visually perceptible areas of the user interface are colored predetermined colors to reflect entry and exit from the stages of the software upgrade.
In accordance with another aspect of the present invention, messages associated with an entry into a stage of the retrofit are timed. That is, a timer is used to determine the actual elapsed time from entry message. The actual elapsed time is compared to an expected time associated with the stage. In this manner, an actual elapsed time from an entry into a stage is compared against an expected time for exit out of the stage. When the actual elapsed time exceeds the expected time associated with the stage, the user interface is updated accordingly to alert a user of a potential problem.
In addition to detecting messages associated with an entry or exit from a stage of the software upgrade, predetermined error messages are detected in the report stream. In general, these predetermined error messages reflect the occurrence of an event on the switch that should not occur during the software upgrade. Upon detection of a predetermined error message, the user interface is updated accordingly to alert a user to an error.
In accordance with another aspect of the present invention, an apparatus or system is provided for monitoring the process of a software upgrade on a telecommunications switch. The apparatus includes a report receiver, a processor, and a user interface. The report receiver receives a stream of messages from the telecommunications switch to thereby produce a received stream of messages. The received stream of messages includes messages reflecting the state of the telecommunications switch. The processor is operably coupled to the report receiver and stores the received stream of messages and searches the received stream of messages for select messages. In particular, the processor searches for select messages indicating an entry into a stage of the software upgrade or messages reflecting an exit from a stage of the software upgrade. As entry messages and exit messages are detected by the processor, a user interface coupled to the processor reflects the entry and exit from the stages of the software upgrade. Preferably, the user interface includes designated areas associated with each stage of the software upgrade and those designated areas are populated with predetermined text streams and colors reflecting entry and exit from the associated stages. Preferably, the user interface includes an audible alarm for alerting a user to certain events associated with the software upgrade, for example, alarms.
In accordance with another aspect of the present invention, the processor includes a timer that times an actual elapsed time from the receipt of an entry message, reflecting entry into a stage of the software upgrade. The actual elapsed time is compared against an expected time and the user interface is updated if the actual elapsed time exceeds the expected time. In addition to detecting messages associated with an entry or exit from a stage of the software upgrade, predetermined error messages are detected and the user interface reflects the detection of the error messages.